package cn.dwy2002.task.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.dwy2002.common.Result;
import com.dwy2002.pojo.dto.task.TaskTypeDTO;
import com.dwy2002.pojo.po.task.TaskType;
import com.dwy2002.pojo.vo.task.TaskTypeSimpleVO;

import java.util.List;

/**
 * @author 杜伟毅
 * @version 1.0
 * @since 2025/07/14
 */
public interface ITaskTypeService extends IService<TaskType> {
    /**
     * 创建任务类型
     *
     * @param dto 任务类型DTO
     * @author 杜伟毅
     * @since 2025/7/21 0021 11:07
     */
    Result<Void> createTaskType(TaskTypeDTO dto);

    /**
     * 批量删除任务类型（逻辑删除）
     *
     * @param ids 类型ID列表
     * @author 杜伟毅
     * @since 2025/7/21 0021 11:07
     */
    Result<Void> deleteTaskTypes(List<String> ids);

    /**
     * 更新任务类型信息
     *
     * @param dto 任务类型DTO
     * @author 杜伟毅
     * @since 2025/7/21 0021 11:07
     */
    Result<Void> updateTaskType(TaskTypeDTO dto);

    /**
     * 获取所有有效的任务类型
     *
     * @author 杜伟毅
     * @since 2025/7/21 0021 11:07
     */
    Result<List<TaskTypeSimpleVO>> getAllActiveTypes();
}
